package com.ocom.ugcapi.client;

import com.alibaba.fastjson.JSONObject;
import com.ocom.common.constant.PayConfigUrl;
import com.ocom.common.constant.UnifiendPayUrl;
import com.ocom.common.entity.card.EntityXfRecord;
import com.ocom.common.request.payconfig.GetChangeDishesListRequest;
import com.ocom.common.request.ugcapi.OrderedShowRequest;
import com.ocom.common.request.web.GetConsPerReportsRequest;
import com.ocom.common.request.xfrecde.GetPerVideoListRequest;
import com.ocom.common.request.xfrecde.GetUserOrdered;
import com.ocom.common.request.xfrecde.GetUserOrderedB;
import com.ocom.common.request.xfrecde.UpdateChangeDishesRequest;
import com.ocom.common.resp.Result;
import com.ocom.common.vo.xfrecode.OrderedMealBVo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;


@FeignClient(value = "xfrecode")
public interface XfRecodeClientService {

	@PostMapping(UnifiendPayUrl.URL_sveXfRecord)
	public Result sveXfRecord(@RequestBody EntityXfRecord entityXfRecord);

	@PostMapping(UnifiendPayUrl.URL_updateXfRecord)
	Result updateXfRecord(@RequestBody EntityXfRecord entityXfRecord);

	@PostMapping(UnifiendPayUrl.URL_getConsumeDetail)
	Result getConsumeDetail(@RequestBody JSONObject jsonObject);

	@PostMapping(UnifiendPayUrl.URL_getConsumeReports)
	Result getConsumeReports(@RequestBody JSONObject jsonObject);


	//11.4.4 获取用户已点餐餐段
	@PostMapping(UnifiendPayUrl.URL_getUserOrdered)
	public Result getUserOrdered(@RequestBody GetUserOrdered request);


	@PostMapping(UnifiendPayUrl.URL_getOrderDishesDetail)
	public Result getOrderDishesDetail(@RequestBody OrderedShowRequest request);

	@PostMapping(UnifiendPayUrl.URL_getUserOrderedB)
	public Result<List<OrderedMealBVo>> getUserOrderedB(@RequestBody GetUserOrderedB request);

	@PostMapping(UnifiendPayUrl.URL_getPerVideoList)
	public Result getPerVideoList(@RequestBody GetPerVideoListRequest getPerVideoListRequest);

	//人员消费汇总报表
	@PostMapping(UnifiendPayUrl.URL_getConsPerReports)
	public Result getConsPerReports(@RequestBody GetConsPerReportsRequest getConsPerReportsRequest);

	@PostMapping(UnifiendPayUrl.URL_updateChangeDishes)
	public Result updateChangeDishes(@RequestBody UpdateChangeDishesRequest request);
}
